<?php

declare(ENCODING = 'UTF-8');

/*                                                                        *
 * This script is part of the TYPO3 project - inspiring people to share!  *
 *                                                                        *
 * TYPO3 is free software; you can redistribute it and/or modify it under *
 * the terms of the GNU General Public License version 2 as published by  *
 * the Free Software Foundation.                                          *
 *                                                                        *
 * This script is distributed in the hope that it will be useful, but     *
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-    *	
 * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General      *
 * Public License for more details.                                       *
 *                                                                        */	

/**
 * @package auxo
 * @subpackage AOP
 * @version $Id$
 */

/**	
 * The AOP Pointcut
 *	
 * @package auxo
 * @subpackage AOP	
 * @version $Id$	
 * @copyright Copyright belongs to the respective authors
 * @author AHN
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License, version 2
 */
class tx_auxo_AOPPointcut {
	
	/**
	 * List of supported advice types
	 *
	 */
	const BEFORE = 'before';
	
	const AFTER = 'after';
	
	const AFTERRETURNING = 'afterreturning';
	
	const AFTERTHROWING = 'afterthrowing';
	
	const INTRODUCTION = 'introduction';

	/**
	 * Type of pointcut
	 *
	 * @var string
	 */
	private $type;
	
	/**
	 * Pointcut expression
	 *
	 * @var string
	 */
	private $expression;
	
	/**
	 * Parts of a pointcut expression
	 *
	 * @var string
	 */
	private $typePattern;
	private $classPattern;
	private $argumentPattern;
	
	public function __construct($type, $expression) {
		$this->type = $type;
		$this->setExpression($expression);
	}
	
	public function setExpression($expression) {
		$this->expression = $expression;
	}
	
	public function getExpression() {
		return $this->expression;
	}
}
?>